This invention relates generally to the field of software for Computer Aided Design, or "CAD." More specifically, it relates to software for use in a CAD system for creating two-dimensional diagrams, including but not limited to flow charts, electrical schematics, plant processes and the like.
In CAD systems, diagrams most often consist of representational graphical objects or symbols interconnected by straight, curved or serpentine lines, chains of lines, or other shapes such as arrows which illustrate the connectivity between symbols. Examples of such diagrams are electronic circuit diagrams or computer flow charts. Some kinds of diagrams, such as architectural space plans, do not require connecting lines and symbols may be connected directly to each other. The symbols are made up of individual graphical entities, such as lines, circles, arcs, text and images. Different software companies may refer to symbols using terminology such as "blocks" or "shapes."
Software is widely available which automates the manipulation and interconnection of symbols, so that when an operator changes the position or other parameter of a symbol, all connections and/or symbols associated with that symbol reconfigure themselves to maintain that association. Such software is available from Visio Corp. under the name "Visio Technical". Complex connections can be created between symbols by simply picking start and end points. Symbols and connections which provide this automatic behavior are referred to as "intelligent," or "smart" symbols and connections.
Part of the definition of an intelligent symbol is made up of the locations of the connection points to which intelligent connections are to be attached. Existing graphical methods of displaying connection point locations for symbols on intelligent diagrams consist of a small symbol, such as an "X" which appears at each connection point location. These connection point symbols must be kept relatively small in order to prevent screen clutter, and are difficult to select and manipulate. Existing methods are therefore very cumbersome and do not permit easy editing of symbols, especially in cases where connectivity is relatively complex.
The present invention provides an efficient and easy-to-use method of defining and manipulating an intelligent symbol which facilitates the editing of symbols so that connections between symbols can be readily added and edited.